library(survminer)
library(survival)
library(magrittr)
library(tidyverse)
library(Seurat)
library(readxl)
library(cowplot)
library(colorblindr)
library(viridis)
library(consensusOV)
library(progeny)
source("_src/global_vars.R")
## load data ------------------------------------------------------
file_paths <- list.files("/work/shah/uhlitzf/data/TCGA/OV/htseq", full.names = T)
## sample sheet
sample_tbl <- tibble(`File Name` = paste0(basename(file_paths), ".gz")) %>%
left_join(read_tsv("/work/shah/uhlitzf/data/TCGA/OV/gdc_sample_sheet.2020-07-28.tsv"), by = "File Name") %>%
set_colnames(str_replace_all(tolower(colnames(.)), " ", "_")) %>%
select(case_id, sample_id, file_name)
sample_df <- sample_tbl %>%
as.data.frame %>%
set_rownames(.$sample_id)
# ## raw counts ---------------------------
#
# read_c2 <- function(x) select(read_tsv(x, col_names = F), -1)
# count_tbl <- lapply(file_paths, read_c2) %>%
# bind_cols() %>%
# set_colnames(sample_tbl$sample_id) %>%
# mutate(ENSEMBL = read_tsv(file_paths[1], col_names = F)$X1) %>%
# select(ENSEMBL, everything())
# write_tsv(count_tbl, "/work/shah/uhlitzf/data/TCGA/OV/all_counts.tsv")
#
# count_tbl <- read_tsv("/work/shah/uhlitzf/data/TCGA/OV/all_counts.tsv")
# count_mat <- as.matrix(select(count_tbl, -1)) %>%
# set_rownames(count_tbl$ENSEMBL)
#
# ## normalization ------------------------
#
# dds <- DESeq2::DESeqDataSetFromMatrix(countData = count_mat, colData = sample_df, design = ~sample_id)
#
# dds <- DESeq2::estimateSizeFactors(dds)
# write_rds(dds, "/work/shah/uhlitzf/data/TCGA/OV/deseq_obj.rds")
dds <- read_rds("/work/shah/uhlitzf/data/TCGA/OV/deseq_obj.rds")
count_norm <- DESeq2::counts(dds, normalized = T)
## annotation ------------------------------
rownames(count_norm) <- str_split(rownames(count_norm), "\\.") %>%
lapply(function(x) x[1]) %>%
unlist
gene_symbol <- AnnotationDbi::select(org.Hs.eg.db::org.Hs.eg.db,
keys = rownames(count_norm),
columns = c("ENSEMBL", "SYMBOL", "UNIPROT"),
keytype = "ENSEMBL") %>%
distinct(SYMBOL, .keep_all = T) %>%
distinct(ENSEMBL, .keep_all = T) %>%
na.omit() %>%
select(-UNIPROT) %>%
deframe
count_norm_symbol <- count_norm[names(gene_symbol),]
rownames(count_norm_symbol) <- gene_symbol
## embeddings ----------------------------------
tcga_pca <- prcomp(t(count_norm_symbol))
set.seed(123)
tcga_umap <- uwot::umap(tcga_pca$x[,1:50]) %>%
set_colnames(c("UMAP_1", "UMAP_2")) %>%
as_tibble() %>%
mutate(sample_id = rownames(tcga_pca$x))
# ## consensusOV --------------------------------
# gene_entrez <- AnnotationDbi::select(org.Hs.eg.db::org.Hs.eg.db,
# keys = rownames(count_norm),
# columns = c("ENSEMBL", "ENTREZID"),
# keytype = "ENSEMBL") %>%
# distinct(ENTREZID, .keep_all = T) %>%
# distinct(ENSEMBL, .keep_all = T) %>%
# deframe
#
# count_norm_entrez <- count_norm[names(gene_entrez),]
# rownames(count_norm_entrez) <- gene_entrez
#
# covs <- get.subtypes(count_norm_entrez, rownames(count_norm_entrez), method = "consensusOV")
# covs_tbl <- cbind(as.data.frame(covs[[2]]), covs[[1]]) %>%
# as_tibble(rownames = "sample_id") %>%
# setNames(c(names(.)[-6], "consensusOV"))
#
# consensusOV_names <- c(IMR_consensus = "Immunoreactive", MES_consensus = "Mesenchymal", PRO_consensus = "Proliferative", DIF_consensus = "Differentiated")
# covs_tbl <- covs_tbl %>%
# mutate(consensusOV = as.character(consensusOV)) %>%
# mutate(consensusOV = consensusOV_names[consensusOV])
# write_tsv(covs_tbl, "/work/shah/uhlitzf/data/TCGA/OV/tcga_consensusOV.tsv")
covs_tbl <- read_tsv("/work/shah/uhlitzf/data/TCGA/OV/tcga_consensusOV.tsv")
# ## progeny --------------------------------
gene_hugo <- AnnotationDbi::select(org.Hs.eg.db::org.Hs.eg.db,
keys = rownames(count_norm),
columns = c("ENSEMBL", "SYMBOL"),
keytype = "ENSEMBL") %>%
distinct(SYMBOL, .keep_all = T) %>%
distinct(ENSEMBL, .keep_all = T) %>%
deframe
count_norm_hugo <- count_norm[names(gene_hugo),]
rownames(count_norm_hugo) <- gene_hugo
## compute progeny scores
progeny_tbl <- count_norm_hugo %>%
progeny %>%
as.data.frame %>%
as_tibble() %>%
setNames(paste0(make.names(names(.)), ".pathway")) %>%
mutate(sample_id = colnames(count_norm_hugo)) %>%
select(sample_id, everything())
## clinical data ----------------------------------
clin_tbl <- read_tsv("/work/shah/uhlitzf/data/TCGA/OV/ov_tcga_pan_can_atlas_2018_clinical_data.tsv") %>%
set_colnames(str_replace_all(tolower(colnames(.)), " ", "_")) %>%
select(case_id = patient_id,
age = diagnosis_age,
final_pfstm = `progress_free_survival_(months)`,
final_pfsid = progression_free_status,
final_ostm = `overall_survival_(months)`,
final_osid = overall_survival_status) %>%
distinct(case_id, .keep_all = T) %>%
mutate(final_pfsid = as.numeric(str_remove_all(final_pfsid, ":PROGRESSION|:CENSORED")),
final_osid = as.numeric(str_remove_all(final_osid, ":DECEASED|:LIVING")))
mut_tbl <- read_tsv("/work/shah/uhlitzf/data/TCGA/OV/TCGA-OV-BRCA-status.tsv") %>%
select(case_id = `Patient ID`, BRCA1, BRCA2) %>%
mutate(brca_group = case_when(
BRCA1 == "no alteration" & BRCA2 == "no alteration" ~ "WT",
BRCA1 != "no alteration" & BRCA2 != "no alteration" ~ "double mut",
BRCA1 != "no alteration" ~ "BRCA1",
BRCA2 != "no alteration" ~ "BRCA2"
))
## join data for plotting ------------------------
plot_data <- tcga_umap %>%
left_join(select(sample_tbl, -file_name), by = "sample_id") %>%
left_join(select(covs_tbl, sample_id, consensusOV), by = "sample_id") %>%
left_join(clin_tbl, by = "case_id") %>%
left_join(mut_tbl, by = "case_id") %>%
left_join(progeny_tbl, by = "sample_id")
The TCGA OV RNA-seq data set consists of bulk RNA-seq data from a cohort of 379 ovarian cancer patients.
plot_data %>%
group_by(consensusOV) %>%
tally %>%
ggplot() +
geom_bar(aes(consensusOV, n, fill = consensusOV), stat = "identity")+
labs(y = "# cases") +
scale_fill_manual(values = clrs$consensusOV)
plot_data %>%
group_by(brca_group) %>%
tally %>%
ggplot() +
geom_bar(aes(brca_group, n, fill = brca_group), stat = "identity")+
labs(y = "# cases") +
scale_fill_manual(values = clrs$brca_group)
Top 50 PCs were computed on all genes and used as input for UMAP. One dot represents one TCGA case.
p1 <- ggplot(plot_data) +
geom_point(aes(UMAP_1, UMAP_2, color = consensusOV)) +
NoAxes() +
scale_color_manual(values = clrs$consensusOV)
p2 <- ggplot(plot_data) +
geom_point(aes(UMAP_1, UMAP_2, color = age)) +
NoAxes() +
scale_color_viridis_c()
p3 <- ggplot(plot_data) +
geom_point(aes(UMAP_1, UMAP_2, color = as.logical(final_pfsid))) +
NoAxes()
p4 <- ggplot(plot_data) +
geom_point(aes(UMAP_1, UMAP_2, color = brca_group)) +
scale_color_manual(values = clrs$brca_group) +
NoAxes()
plot_grid(p1, p2, p3, p4, ncol = 2, align = "hv")
plot_data %>%
gather(pathway, value, -c(1:13)) %>%
ggplot() +
geom_boxplot(aes(brca_group, value, color = brca_group)) +
facet_wrap(~pathway, scales = "free") +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
scale_color_manual(values = clrs$brca_group)
PFS and OS are overall higher for patients of the immunoreactive subtype.
pfsfit <- survfit(Surv(final_pfstm/12, final_pfsid) ~ consensusOV, data = plot_data)
osfit <- survfit(Surv(final_ostm/12, final_osid) ~ consensusOV, data = plot_data)
ggsurvplot(pfsfit, data = plot_data,
palette = setNames(clrs$consensusOV,
paste0("consensusOV=", names(clrs$consensusOV)))) +
labs(x = "Time [years]",
y = "PFS")
ggsurvplot(osfit, data = plot_data,
palette = setNames(clrs$consensusOV,
paste0("consensusOV=", names(clrs$consensusOV)))) +
labs(x = "Time [years]",
y = "OS")
The gene expression data can be used to identify potential bio markers for better stratification.
expression_cutoff <- 2
## Cluster signatures from SPECTRUM
marker_tbl_fb <- read_tsv("/work/shah/uhlitzf/data/SPECTRUM/freeze/v7/supplementary_tables/Fibroblast.super_marker_sheet.tsv")
marker_tbl_ml <- read_tsv("/work/shah/uhlitzf/data/SPECTRUM/freeze/v7/supplementary_tables/Myeloid.super_marker_sheet.tsv")
marker_tbl_tc <- read_tsv("/work/shah/uhlitzf/data/SPECTRUM/freeze/v7/supplementary_tables/T.super_marker_sheet_full.tsv")
marker_tbl_cc <- read_tsv("/work/shah/uhlitzf/data/SPECTRUM/freeze/v7/supplementary_tables/Ovarian.cancer.super_marker_sheet.tsv")
cluster_label_names <- c(unlist(lapply(clrs$cluster_label, names), use.names = F), unlist(lapply(clrs$cluster_label_sub, names), use.names = F))
wrap_markers <- . %>%
.[,colnames(.)[colnames(.) %in% cluster_label_names]] %>%
slice(1:10) %>%
# select(-rank) %>%
gather(cluster, gene_id)
markers_tbl <- list(T.cell = wrap_markers(marker_tbl_tc),
Fibroblast = wrap_markers(marker_tbl_fb),
Myeloid.cell = wrap_markers(marker_tbl_ml),
Ovarian.cancer.cell = wrap_markers(marker_tbl_cc)) %>%
bind_rows(.id = "cell_type")
gois <- unique(markers_tbl$gene_id)
gois <- gois[gois %in% rownames(count_norm_symbol)]
## filter TCGA data for SPECTRUM markers
full_data <- count_norm_symbol[gois,] %>%
as.data.frame %>%
as_tibble(rownames = "gene_id") %>%
gather(sample_id, exprs, -gene_id) %>%
left_join(select(sample_tbl, -file_name), by = "sample_id") %>%
left_join(select(covs_tbl, sample_id, consensusOV), by = "sample_id") %>%
left_join(clin_tbl, by = "case_id") %>%
left_join(mut_tbl, by = "case_id") %>%
left_join(markers_tbl, by = "gene_id") %>%
mutate(log_exprs = log2(exprs+1)) %>%
group_by(gene_id) %>%
mutate(mean_exprs = mean(log_exprs, na.rm = T),
sd_exprs = sd(log_exprs, na.rm = T),
rel_exprs = (log_exprs-mean_exprs)/sd_exprs,
cut_exprs = ifelse(rel_exprs < -expression_cutoff, -expression_cutoff, ifelse(rel_exprs > expression_cutoff, expression_cutoff, rel_exprs)))
Top cluster markers differ in expression with respect to TCGA transcriptional sub type status.
Heatmaps show markers in columns and patients in rows.
heatmap_layers <- list(
geom_tile(),
facet_grid(consensusOV~cluster, scales = "free", space = "free"),
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
axis.text.y = element_blank(),
axis.ticks = element_blank()),
scale_fill_gradient2(low = "steelblue", high = "red")
)
ggplot(filter(full_data, cell_type == "T.cell"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
ggplot(filter(full_data, cell_type == "Fibroblast"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
ggplot(filter(full_data, cell_type == "Myeloid.cell"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
ggplot(filter(full_data, cell_type == "Ovarian.cancer.cell"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
heatmap_layers <- list(
geom_tile(),
facet_grid(brca_group~cluster, scales = "free", space = "free"),
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
axis.text.y = element_blank(),
axis.ticks = element_blank()),
scale_fill_gradient2(low = "steelblue", high = "red")
)
ggplot(filter(full_data, cell_type == "T.cell"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
ggplot(filter(full_data, cell_type == "Fibroblast"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
ggplot(filter(full_data, cell_type == "Myeloid.cell"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
ggplot(filter(full_data, cell_type == "Ovarian.cancer.cell"),
aes(gene_id, sample_id, fill = cut_exprs)) +
heatmap_layers
### boxplots
cluster_summary <- full_data %>%
group_by(cluster, sample_id, consensusOV, cell_type) %>%
summarise(cluster_score = median(rel_exprs, na.rm = T))
# plot_cOV <- function(cOV) {
#
# cluster_summary %>%
# filter(consensusOV == cOV) %>%
# group_by(cluster) %>%
# mutate(median = median(cluster_score, na.rm = T)) %>%
# ungroup() %>%
# arrange(median) %>%
# mutate(cluster = ordered(cluster, levels = unique(cluster))) %>%
# ggplot(aes(cluster, cluster_score, color = cell_type)) +
# geom_boxplot() +
# geom_hline(yintercept = 0, linetype = 2) +
# scale_color_manual(values = clrs$cell_type) +
# theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
# labs(title = cOV, x = "", y = "Marker gene score")
#
# }
#
# plot_grid(plot_cOV("Immunoreactive"),
# plot_cOV("Mesenchymal"),
# plot_cOV("Proliferative"),
# plot_cOV("Differentiated"), ncol = 2, align = "hv")
main_clusters_tbl <- cluster_summary %>%
filter(cluster %in% c("M2.CXCL10", "Activated.CAF.TGFb")) %>%
select(-cell_type) %>%
spread(cluster, cluster_score) %>%
mutate(diff_score = Activated.CAF.TGFb - M2.CXCL10) %>%
gather(cluster, cluster_score, -c(1:2))
ggplot(main_clusters_tbl) +
geom_density(aes(cluster_score, color = consensusOV)) +
scale_color_manual(values = clrs$consensusOV) +
facet_wrap(~cluster)
strata_tbl <- full_data %>%
distinct(gene_id, sample_id, .keep_all = T) %>%
group_by(gene_id) %>%
mutate(q25 = quantile(cut_exprs, probs = 0.25, na.rm = T),
q75 = quantile(cut_exprs, probs = 0.75, na.rm = T),
strata = ifelse(cut_exprs < q25, "low", ifelse(cut_exprs > q75, "high", "mid"))) %>%
ungroup
survplot_gene <- function(gene) {
data_tbl <- filter(strata_tbl, gene_id == gene, strata != "mid")
data_tbl$final_pfstm <- data_tbl$final_pfstm/12
fit <- survfit(Surv(final_pfstm, final_pfsid) ~ strata, data = data_tbl)
ggsurvplot(fit, data = data_tbl, palette = c("red", "steelblue")) +
labs(x = "Time [years]",
y = "PFS",
title = gene)
}
marker_c <- marker_tbl_ml$M2.CXCL10[marker_tbl_ml$M2.CXCL10 %in% full_data$gene_id][1:10] %>% na.omit()
for(i in 1:length(marker_c)){
cat('###', marker_c[i],' \n')
print(survplot_gene(marker_c[i]))
cat(' \n \n')
}
marker_c <- marker_tbl_ml$M2.MARCO[marker_tbl_ml$M2.MARCO %in% full_data$gene_id][1:10] %>% na.omit()
for(i in 1:length(marker_c)){
cat('###', marker_c[i],' \n')
print(survplot_gene(marker_c[i]))
cat(' \n \n')
}
marker_c <- marker_tbl_fb$Activated.CAF.TGFb[marker_tbl_fb$Activated.CAF.TGFb %in% full_data$gene_id][1:10] %>% na.omit()
for(i in 1:length(marker_c)){
cat('###', marker_c[i],' \n')
print(survplot_gene(marker_c[i]))
cat(' \n \n')
}
devtools::session_info()
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 3.6.2 (2019-12-12)
## os Debian GNU/Linux 10 (buster)
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz Etc/UTC
## date 2021-03-22
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## package * version date lib
## abind 1.4-5 2016-07-21 [2]
## acepack 1.4.1 2016-10-29 [2]
## annotate 1.64.0 2019-10-29 [2]
## AnnotationDbi 1.48.0 2019-10-29 [2]
## ape 5.3 2019-03-17 [2]
## assertthat 0.2.1 2019-03-21 [2]
## backports 1.1.10 2020-09-15 [1]
## base64enc 0.1-3 2015-07-28 [2]
## bibtex 0.4.2.2 2020-01-02 [2]
## Biobase 2.46.0 2019-10-29 [2]
## BiocGenerics 0.32.0 2019-10-29 [2]
## BiocParallel 1.20.1 2019-12-21 [2]
## bit 1.1-15.1 2020-01-14 [2]
## bit64 0.9-7 2017-05-08 [2]
## bitops 1.0-6 2013-08-17 [2]
## blob 1.2.0 2019-07-09 [2]
## broom 0.7.2 2020-10-20 [1]
## callr 3.4.2 2020-02-12 [1]
## car 3.0-8 2020-05-21 [1]
## carData 3.0-4 2020-05-22 [1]
## caTools 1.17.1.4 2020-01-13 [2]
## cellranger 1.1.0 2016-07-27 [2]
## checkmate 2.0.0 2020-02-06 [1]
## cli 2.0.2 2020-02-28 [1]
## cluster 2.1.0 2019-06-19 [3]
## codetools 0.2-16 2018-12-24 [3]
## colorblindr * 0.1.0 2020-01-13 [2]
## colorspace * 1.4-2 2019-12-29 [2]
## consensusOV * 1.8.1 2019-12-05 [1]
## cowplot * 1.0.0 2019-07-11 [2]
## crayon 1.3.4 2017-09-16 [1]
## curl 4.3 2019-12-02 [2]
## data.table 1.12.8 2019-12-09 [2]
## DBI 1.1.0 2019-12-15 [2]
## dbplyr 2.0.0 2020-11-03 [1]
## DelayedArray 0.12.2 2020-01-06 [2]
## desc 1.2.0 2018-05-01 [2]
## DESeq2 1.26.0 2019-10-29 [2]
## devtools 2.2.1 2019-09-24 [2]
## digest 0.6.25 2020-02-23 [1]
## dplyr * 1.0.2 2020-08-18 [1]
## ellipsis 0.3.1 2020-05-15 [1]
## evaluate 0.14 2019-05-28 [2]
## fansi 0.4.1 2020-01-08 [2]
## farver 2.0.3 2020-01-16 [1]
## fastmap 1.0.1 2019-10-08 [2]
## fitdistrplus 1.0-14 2019-01-23 [2]
## FNN 1.1.3 2019-02-15 [2]
## forcats * 0.5.0 2020-03-01 [1]
## foreign 0.8-74 2019-12-26 [3]
## Formula 1.2-3 2018-05-03 [2]
## fs 1.5.0 2020-07-31 [1]
## future 1.15.1 2019-11-25 [2]
## future.apply 1.4.0 2020-01-07 [2]
## gbRd 0.4-11 2012-10-01 [2]
## gdata 2.18.0 2017-06-06 [2]
## genefilter 1.68.0 2019-10-29 [2]
## geneplotter 1.64.0 2019-10-29 [2]
## generics 0.0.2 2018-11-29 [2]
## GenomeInfoDb 1.22.0 2019-10-29 [2]
## GenomeInfoDbData 1.2.2 2020-01-14 [2]
## GenomicRanges 1.38.0 2019-10-29 [2]
## ggplot2 * 3.3.2 2020-06-19 [1]
## ggpubr * 0.4.0 2020-06-27 [1]
## ggrepel 0.8.1 2019-05-07 [2]
## ggridges 0.5.2 2020-01-12 [2]
## ggsignif 0.6.0 2019-08-08 [1]
## globals 0.12.5 2019-12-07 [2]
## glue 1.3.2 2020-03-12 [1]
## gplots 3.0.1.2 2020-01-11 [2]
## graph 1.64.0 2019-10-29 [1]
## gridExtra 2.3 2017-09-09 [2]
## GSEABase 1.48.0 2019-10-29 [1]
## GSVA 1.34.0 2019-10-29 [1]
## gtable 0.3.0 2019-03-25 [2]
## gtools 3.8.1 2018-06-26 [2]
## haven 2.3.1 2020-06-01 [1]
## Hmisc 4.3-0 2019-11-07 [2]
## hms 0.5.3 2020-01-08 [1]
## htmlTable 1.13.3 2019-12-04 [2]
## htmltools 0.5.1.1 2021-01-22 [1]
## htmlwidgets 1.5.1 2019-10-08 [2]
## httpuv 1.5.2 2019-09-11 [2]
## httr 1.4.2 2020-07-20 [1]
## ica 1.0-2 2018-05-24 [2]
## igraph 1.2.5 2020-03-19 [1]
## IRanges 2.20.2 2020-01-13 [2]
## irlba 2.3.3 2019-02-05 [2]
## jpeg 0.1-8.1 2019-10-24 [2]
## jsonlite 1.7.1 2020-09-07 [1]
## KernSmooth 2.23-16 2019-10-15 [3]
## km.ci 0.5-2 2009-08-30 [1]
## KMsurv 0.1-5 2012-12-03 [1]
## knitr 1.26 2019-11-12 [2]
## labeling 0.3 2014-08-23 [2]
## later 1.0.0 2019-10-04 [2]
## lattice 0.20-38 2018-11-04 [3]
## latticeExtra 0.6-29 2019-12-19 [2]
## lazyeval 0.2.2 2019-03-15 [2]
## leiden 0.3.1 2019-07-23 [2]
## lifecycle 0.2.0 2020-03-06 [1]
## limma 3.42.0 2019-10-29 [2]
## listenv 0.8.0 2019-12-05 [2]
## lmtest 0.9-37 2019-04-30 [2]
## locfit 1.5-9.4 2020-03-25 [1]
## lsei 1.2-0 2017-10-23 [2]
## lubridate 1.7.9.2 2020-11-13 [1]
## magrittr * 2.0.1 2020-11-17 [1]
## MASS 7.3-51.5 2019-12-20 [3]
## Matrix 1.2-18 2019-11-27 [3]
## matrixStats 0.56.0 2020-03-13 [1]
## memoise 1.1.0 2017-04-21 [2]
## metap 1.2 2019-12-08 [2]
## mime 0.8 2019-12-19 [2]
## mnormt 1.5-5 2016-10-15 [2]
## modelr 0.1.8 2020-05-19 [1]
## multcomp 1.4-12 2020-01-10 [2]
## multtest 2.42.0 2019-10-29 [2]
## munsell 0.5.0 2018-06-12 [2]
## mutoss 0.1-12 2017-12-04 [2]
## mvtnorm 1.0-12 2020-01-09 [2]
## nlme 3.1-143 2019-12-10 [3]
## nnet 7.3-12 2016-02-02 [3]
## npsurv 0.4-0 2017-10-14 [2]
## numDeriv 2016.8-1.1 2019-06-06 [2]
## openxlsx 4.1.5 2020-05-06 [1]
## org.Hs.eg.db 3.10.0 2020-01-29 [1]
## pbapply 1.4-2 2019-08-31 [2]
## pillar 1.4.6 2020-07-10 [1]
## pkgbuild 1.0.6 2019-10-09 [2]
## pkgconfig 2.0.3 2019-09-22 [1]
## pkgload 1.0.2 2018-10-29 [2]
## plotly 4.9.1 2019-11-07 [2]
## plotrix 3.7-7 2019-12-05 [2]
## plyr 1.8.5 2019-12-10 [2]
## png 0.1-7 2013-12-03 [2]
## prettyunits 1.1.1 2020-01-24 [1]
## processx 3.4.2 2020-02-09 [1]
## progeny * 1.11.3 2020-10-22 [1]
## promises 1.1.0 2019-10-04 [2]
## ps 1.3.2 2020-02-13 [1]
## purrr * 0.3.4 2020-04-17 [1]
## R.methodsS3 1.7.1 2016-02-16 [2]
## R.oo 1.23.0 2019-11-03 [2]
## R.utils 2.9.2 2019-12-08 [2]
## R6 2.4.1 2019-11-12 [1]
## randomForest 4.6-14 2018-03-25 [1]
## RANN 2.6.1 2019-01-08 [2]
## rappdirs 0.3.1 2016-03-28 [2]
## RColorBrewer 1.1-2 2014-12-07 [2]
## Rcpp 1.0.4 2020-03-17 [1]
## RcppAnnoy 0.0.16 2020-03-08 [1]
## RcppParallel 4.4.4 2019-09-27 [2]
## RCurl 1.98-1.1 2020-01-19 [1]
## Rdpack 0.11-1 2019-12-14 [2]
## readr * 1.4.0 2020-10-05 [1]
## readxl * 1.3.1 2019-03-13 [2]
## remotes 2.1.0 2019-06-24 [2]
## reprex 0.3.0 2019-05-16 [2]
## reshape2 1.4.3 2017-12-11 [2]
## reticulate 1.14 2019-12-17 [2]
## rio 0.5.16 2018-11-26 [1]
## rlang 0.4.8 2020-10-08 [1]
## rmarkdown 2.0 2019-12-12 [2]
## ROCR 1.0-7 2015-03-26 [2]
## rpart 4.1-15 2019-04-12 [3]
## rprojroot 1.3-2 2018-01-03 [2]
## RSpectra 0.16-0 2019-12-01 [2]
## RSQLite 2.2.0 2020-01-07 [2]
## rstatix 0.6.0 2020-06-18 [1]
## rstudioapi 0.11 2020-02-07 [1]
## rsvd 1.0.3 2020-02-17 [1]
## Rtsne 0.15 2018-11-10 [2]
## rvest 0.3.6 2020-07-25 [1]
## S4Vectors 0.24.2 2020-01-13 [2]
## sandwich 2.5-1 2019-04-06 [2]
## scales 1.1.0 2019-11-18 [2]
## sctransform 0.2.1 2019-12-17 [2]
## SDMTools 1.1-221.2 2019-11-30 [2]
## sessioninfo 1.1.1 2018-11-05 [2]
## Seurat * 3.1.2 2019-12-12 [2]
## shiny 1.4.0 2019-10-10 [2]
## shinythemes 1.1.2 2018-11-06 [1]
## sn 1.5-4 2019-05-14 [2]
## stringi 1.5.3 2020-09-09 [1]
## stringr * 1.4.0 2019-02-10 [1]
## SummarizedExperiment 1.16.1 2019-12-19 [2]
## survival * 3.1-8 2019-12-03 [3]
## survminer * 0.4.7 2020-05-28 [1]
## survMisc 0.5.5 2018-07-05 [1]
## testthat 2.3.2 2020-03-02 [1]
## TFisher 0.2.0 2018-03-21 [2]
## TH.data 1.0-10 2019-01-21 [2]
## tibble * 3.0.4 2020-10-12 [1]
## tidyr * 1.1.2 2020-08-27 [1]
## tidyselect 1.1.0 2020-05-11 [1]
## tidyverse * 1.3.0 2019-11-21 [2]
## tsne 0.1-3 2016-07-15 [2]
## usethis 1.5.1 2019-07-04 [2]
## uwot 0.1.5 2019-12-04 [2]
## vctrs 0.3.5 2020-11-17 [1]
## viridis * 0.5.1 2018-03-29 [2]
## viridisLite * 0.3.0 2018-02-01 [2]
## withr 2.3.0 2020-09-22 [1]
## xfun 0.12 2020-01-13 [2]
## XML 3.98-1.20 2019-06-06 [2]
## xml2 1.3.2 2020-04-23 [1]
## xtable 1.8-4 2019-04-21 [2]
## XVector 0.26.0 2019-10-29 [2]
## yaml 2.2.1 2020-02-01 [1]
## zip 2.0.4 2019-09-01 [1]
## zlibbioc 1.32.0 2019-10-29 [2]
## zoo 1.8-7 2020-01-10 [2]
## source
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## Bioconductor
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Github (clauswilke/colorblindr@1ac3d4d)
## R-Forge (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## Bioconductor
## CRAN (R 3.6.2)
## Bioconductor
## Bioconductor
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## Bioconductor
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Github (saezlab/progeny@94bea1c)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.3)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.3)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
## CRAN (R 3.6.2)
## Bioconductor
## CRAN (R 3.6.2)
##
## [1] /home/uhlitzf/R/lib
## [2] /usr/local/lib/R/site-library
## [3] /usr/local/lib/R/library